Interactive voice response (IVR) refers to a computerized system that allows a user, typically a telephone caller, to select an option from a voice menu or otherwise interface with a computer system. Generally, the system plays pre-recorded voice prompts to which the user responds by either pressing a number on a telephone keypad or speaking to the system.
Voice extensible markup language (“VoiceXML” or “VXML”) is an open standard developed by the World Wide Web Consortium (W3C) for IVR applications. An IVR application user interface may be documented in a portion (e.g., a dialog design portion) of a design document (e.g., a Service Design Document or “SDD”). A SDD may include an application summary, application call flows, application specification requirements, and a dialog design for an IVR application. The dialog design portion of the SDD may be used to show what the IVR application will do and how it will behave. The dialog design portion may be used to build the IVR application in the form of VXML documents. The VXML documents may include VXML elements that conform to the specifications recommended by W3C.
The success of an IVR application may depend on how rigorously a speech application has been tested and quality assured. Typically, IVR applications are tested by humans (e.g., quality assurance (QA) testers). The testers may follow the specifications recommended by the W3C for a particular version of VXML (e.g., VoiceXML 2.0 and/or 2.1) when testing IVR applications. Such testers generally create a matrix of VXML elements for each dialog state in order to test an IVR application, and test the integrity of the IVR application with the VXML elements. For example, most of the dialog states may be manually tested for noinput, nomatch, and help events. However, such manual testing and quality assurance is time consuming, tedious, and expensive.